class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     * 
     * @param s string字符串 第一个整数
     * @param t string字符串 第二个整数
     * @return string字符串
     */
    string solve(string s, string t) {
        // write code here
        //长度长的做被乘数，短的做乘数
        int len_i=s.size()-1;
        int len_j=t.size()-1;
        if(len_j>len_i)
            swap(s, t),swap(len_i, len_j);
        vector<int>vec(len_i+len_j+2,0);
        //固定i，和j的每一位相乘
        for(int i=len_i;i>=0;i--)
        {
            for(int j=len_j;j>=0;j--)
            {
                vec[i+j+1]+=(s[i]-'0')*(t[j]-'0');
            }
        }
        int tmp=0,carry=0; //carry用来存进位
        vector<char>ans;
        for(int i=vec.size()-1;i>0;i--)
        {
            tmp=carry+vec[i];
            ans.push_back(tmp%10+48); //以字符格式存储
            carry=tmp/10;
        }
        //有进位
        if(carry!=0)
        {
            ans.push_back(carry+48);
        }
        reverse(ans.begin(), ans.end());
        string str;
        return str.assign(ans.begin(),ans.end());
    }
};